home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / prok345.zip / EXTUSER.DCL < prev    next >
Text File  |  1991-12-10  |  4KB  |  90 lines

  1.  
  2. (*
  3.  * Copyright 1987, 1991 Samuel H. Smith;  All rights reserved
  4.  *
  5.  * This is a component of the ProDoor System.
  6.  * Do not distribute modified versions without my permission.
  7.  * Do not remove or alter this notice or any other copyright notice.
  8.  * If you use this in your own program you must distribute source code.
  9.  * Do not use any of this in a commercial product.
  10.  *
  11.  *)
  12.  
  13. const
  14.    max_conf = 39;               {highest conference number}
  15.    conf_limit = max_conf+1;
  16.  
  17.    min_econf = conf_limit;      {lowest extended conference number}
  18.    max_econf = 5000+conf_limit; {highest extended conference number}
  19.  
  20.    max_extcount = max_econf - min_econf;
  21.                                 {highest extcount for extuser file}
  22.  
  23.    {bit values in conf[n].flags}
  24.    ext_scan       = $01;         {are we scanning this conf?}
  25.    ext_dly        = $02;         {download only your own messages}
  26.    ext_qnet       = $04;         {qnet status}
  27.    ext_sysop      = $08;         {sysop status}
  28.    ext_joined     = $10;         {have we joined today?}
  29.    ext_ro         = $20;         {read/only status}
  30.    ext_priv       = $40;         {updloads private??}
  31.    ext_member     = $80;         {are a member of this conf?}
  32.  
  33.  (* --- Bits defined in fixed.flag1 --- *)
  34.  
  35.    km_quick_g  =   1;   { hangup, then process REP file   }
  36.    km_news     =   2;   { send the system news file       }
  37.    km_blt      =   4;   { send bulletins                  }
  38.    km_files    =   8;   { send New Files List             }
  39.    km_own      =  16;   { download msgs you have uploaded }
  40.    km_xpert    =  32;   { expert on/off                   }
  41.    km_ndx_off  =  64;   { Do not send .NDX files          }
  42.    km_init     = 128;   { On after first time in door     }
  43.  
  44.  (* --- Bits defined in fixed.flag2 --- *)
  45.  
  46.    km_f21      =   1;   { unallocated
  47.    km_f22      =   2;   { unallocated
  48.    km_PersLimit=   4;   { Enable personal packet limits   }
  49.  
  50.  
  51. (* layout of extended user information file *)
  52. type
  53.    extuser_fixed_rec = record
  54.       extcount: byte;         {number of extended conferences in first}
  55.       extcounth:byte;         {high part of extcount if <$20}
  56.       spare0:   char3;        {unallocated spares}
  57.       name:     char25;       {user name}
  58.       lockreg:  boolean;      {lock conference registrations?}
  59.       lastdate: char8;        {last date of access mm-dd-yy}
  60.       level:    byte;         {security level of last access}
  61.       spare2:   char39;       {unallocated spares}
  62.  
  63.    (* following fields used by KMail and other mail doors *)
  64.       flag1:    byte;         {flags described above    }
  65.       flag2:    byte;         {flags described above    }
  66.       prot:     char;         {Protocol - X/Y/Z/H       }
  67.       arch:     char;         {Archiver - A/Z/L         }
  68.       sysfile:  longint;      {Date of last file send   }
  69.       conflimit:integer;      {User defined conf limit  }
  70.       mstrlimit:integer;      {User defined total limit }
  71.  
  72.       spare3:   char28;       {unallocated spare}
  73.    end;
  74.  
  75.    extuser_conf_rec = record
  76.       flags:    byte;         {flag bits}
  77.       lastread: single;       {last message read}
  78.    end;
  79.  
  80.    extuser_rec = record
  81.       fixed:   extuser_fixed_rec;      {fixed user info}
  82.  
  83.       conf:    array[0..max_econf]     {extended conference info}
  84.                of extuser_conf_rec;
  85.    end;
  86.  
  87.    extuser_ptr = ^extuser_rec;  {dynamic extuser variable, allocated
  88.                                  with dos_getmem for actual size}
  89.  
  90.